///* Licensed under the Apache License, Version 2.0 (the "License");
// * you may not use this file except in compliance with the License.
// * You may obtain a copy of the License at
// * 
// *      http://www.apache.org/licenses/LICENSE-2.0
// * 
// * Unless required by applicable law or agreed to in writing, software
// * distributed under the License is distributed on an "AS IS" BASIS,
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// * See the License for the specific language governing permissions and
// * limitations under the License.
// */
//package org.activiti.spring.boot;
//
//import java.io.IOException;
//
//import javax.sql.DataSource;
//
//import org.activiti.spring.SpringAsyncExecutor;
//import org.activiti.spring.SpringProcessEngineConfiguration;
//import org.springframework.boot.autoconfigure.AutoConfigureAfter;
//import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
//import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;
//import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
//import org.springframework.boot.context.properties.EnableConfigurationProperties;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.jdbc.datasource.DataSourceTransactionManager;
//import org.springframework.transaction.PlatformTransactionManager;
//
///**
// * 重构此类强制走Mybatis： 原来的逻辑是Activiti判断，如果项目使用了JPA，那走JPA，如果没有，则走Mybatis
// * @author scott
// * @参考链接：https://blog.csdn.net/jiaoshaoping/article/details/80612637
// * @源码jar: activiti-spring-boot-starter-basic-5.22.0.jar
// * @date: 2019-04-13
// */
//@Configuration
//@AutoConfigureAfter(DataSourceAutoConfiguration.class)
//public class DataSourceProcessEngineAutoConfiguration {
//
//  @Configuration
//  //@ConditionalOnMissingClass(name= "javax.persistence.EntityManagerFactory")
//  @EnableConfigurationProperties(ActivitiProperties.class)
//  public static class DataSourceProcessEngineConfiguration extends AbstractProcessEngineAutoConfiguration {
//
//    @Bean
//    @ConditionalOnMissingBean
//    public PlatformTransactionManager transactionManager(DataSource dataSource) {
//      return new DataSourceTransactionManager(dataSource);
//    }
//
//    @Bean
//    @ConditionalOnMissingBean
//    public SpringProcessEngineConfiguration springProcessEngineConfiguration(
//            DataSource dataSource,
//            PlatformTransactionManager transactionManager,
//            SpringAsyncExecutor springAsyncExecutor) throws IOException {
//      
//      return this.baseSpringProcessEngineConfiguration(dataSource, transactionManager, springAsyncExecutor);
//    }
//  }
//
//}
